Other components

The only remaining things in the HURD distribution are essential system programs such as getty, init, login, ps, settrans, su, vmstat and so on. Most of these programs do the same as their counterparts in conventional Unix distributions, but they have enhancements to deal with specific HURD concepts. For example, su handles multiple simultaneous user IDs whereas Unix only allows a process to have one UID. Other programs have similar purpose to a Unix utility, but have a different name due to the difference syntax required. For example, the command which mounts a partition on the /home directory under Linux is

mount -t ext2 /dev/hda2 /home
Whereas Under HURD one would use the command
settrans /home /hurd/ext2fs /dev/hda2

This illustrates the philosophical difference quite nicely: under Linux, the mount command tells the kernel to mount a filesystem on /home, of type ext2, that it will find on the block device /dev/hda2. The HURD settrans command modifies the /home inode so that when /home is accessed, it starts a new ext2fs server with the given parameters. In this case, ext2fs will then start up a new storeio server to access the hda2 block device on its behalf.